// pages/pay/pay.js
import {getorder,getpay,getpayzhuangtai} from '../../pages/utis/api'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    Address:'' ,// 地址
    gwc:{},  //存放购物车数据
    arr:wx.getStorageSync('arr') || 0, //总价
    total:0,
    num: wx.getStorageSync('num') || 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  this.getlist()
  },
  getlist(){
 
// 获取本地存储收货地址数据
const Address = wx.getStorageSync('Addresss')
// 获取本地存储购物车数据
let gwc = wx.getStorageSync('gwc')
// 过滤购物车中的数据
gwc = gwc.filter(item=>item.flag)
  let  arr = 0 //总价格
  let totalnum = 0  //总数量
  gwc.forEach(item=>{
  arr += item.goods_num * item.goods_price
  totalnum += item.goods_num
  })
  arr= Number(arr +'00')
  this.setData({
    gwc,
    arr,totalnum,
    Address
  })

    //再次获取本地存储的数据
    this.setData({
      Address:wx.getStorageSync('name') ,
      gwc:wx.getStorageSync('gwc')
    })
  },


  // 点击支付
  async gopay() {
      //1.判断有没有token
      let token=wx.getStorageSync('token')
      if(!token){
      wx.redirectTo({
        url: '../../pages/my/my',
      })
      wx.showToast({
        title: '您还没有登录,请先登录',
      })
         return
      }
      // 有token的话 就开始创建订单
   var goods = []
   this.data.gwc.forEach(item=>{
     goods.push({
      goods_id:item.goods_id,
      goods_number:item.goods_num,
      goods_price:item.goods_price
     })
   })
   //创建订单
   let res = await getorder({
    order_price:this.data.arr,   //订单总价
    consignee_addr:this.data.Address.dizhi, // 地址
    goods
   })
   console.log(777777777,res);
   // 创建成功之后请求接口 获取订单编号
   if(res.data.meta.status == 200){
     //获取订单编号
     let order_number = res.data.message.order_number
     console.log(res.data.message.order_number);
     // 请求预支付的接口
      var res1 = await getpay ({order_number})
      console.log(1999,res1);
     // 拉着微信二维码 必要参数为pay
      if(res1.data.meta.status == 200){
        let pay = res.data.message.pay
        // 微信小程序封装好的方法 （支付） 发起微信支付请求
        wx.requestPayment({
         ...pay,
        async  success (resolve) { 
              console.log('成功',resolve);
              var res3 = await getpayzhuangtai({order_number:order_number})
              console.log(res3);
          },
         async  fail (err) { 
            console.log('失败',err);
            var res4 = await getpayzhuangtai({order_number:order_number})
            console.log(res4,'已经请求到');
          }

        })
      }
      wx.showToast({
        title: res1.data.meta.msg,
      })
       
   }else{
    wx.showToast({
      title: res1.data.meta.msg,
      icon:"error"
    })

   }
   
    
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})